package com.flow.dao;

import java.util.List;

import com.flow.model.PagerModel;
import com.flow.model.RolePermission;

/**
 * 角色权限Dao接口 
 * @author Wang
 * @param <T>
 */
public interface IRolePermissionDao<T> extends IBaseDao<T> {

	public boolean insertRolePermission(RolePermission rolePermission);

	public boolean updateRolePermission(RolePermission rolePermission);
	
	public boolean deleteRolePermission(RolePermission rolePermission);
	
	public RolePermission findRolePermissionByHql(String hql);

	public RolePermission findRolePermissionByHql(String hql, Object param);

	public RolePermission findRolePermissionByHql(String hql, List<Object> params);

	public int universalMethodRolePermission(String hql);
	
	public int universalMethodRolePermission(String hql, Object param);
	
	public int universalMethodRolePermission(String hql, List<Object> params);
	
	public List<T> findRolePermissionAllByHql(String hql);

	public List<T> findRolePermissionAllByHql(String hql, Object param);

	public List<T> findRolePermissionAllByHql(String hql, List<Object> params);

	public PagerModel findRolePermissionPagerModeled(PagerModel pager, String hql);
	
	public PagerModel findRolePermissionPagerModeled(PagerModel pager, String hql, Object param);
	
	public PagerModel findRolePermissionPagerModeled(PagerModel pager, String hql, List<Object> params);
}
